home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-21 / qwhite.zip / XBDA.TEC < prev    next >
Text File  |  1992-03-09  |  5KB  |  110 lines

  1. ID:XB The XBDA and Quarterdeck Memory Managers/Enhancer
  2. DESQview Technical Note #222
  3. by Quarterdeck Testing & Compatibility Department
  4. December 26, 1991
  5.  
  6.                                XBDA.TEC
  7.  
  8.      The purpose of this document is to explain what the Extended BIOS Data 
  9. Area is and how it affects the operation of QEMM-386, QEMM 50/60, and QRAM.
  10.  
  11.  
  12. WHAT IS THE EXTENDED BIOS DATA AREA (XBDA)?
  13.  
  14.       There is a piece of memory called the "BIOS Data Area" which begins at 
  15. 1K (address 40:0H).  The contents of the BIOS Data Area can be seen in the 
  16. "First Meg/Overview" screen of MANIFEST.  Information about the configuration 
  17. of the system is stored here.  IBM decided that more such information needed 
  18. to be stored so it invented the Extended BIOS Data Area because the original 
  19. BIOS Data Area is not expandable.  Some computers have one, some computers do 
  20. not.  All IBM PS/2 computers have an XBDA.
  21.  
  22.      
  23. HOW DO I KNOW THAT I HAVE ONE?
  24.  
  25.       The third line of the First Meg/BIOS Data screen of Manifest will read 
  26. "0E: Extended Bios Segment   0AF8" (or whatever address at which the XBDA is 
  27. being put) if you have an Extended BIOS Data Area.  
  28.  
  29.  
  30. HOW LARGE IS THE XBDA?
  31.  
  32.       The XBDA is usually one kilobyte large.  Some machines have a larger 
  33. XBDA.  The size of the XBDA (in kilobytes) is stored in the first byte of the 
  34. XBDA itself.
  35.  
  36.  
  37. WHAT DO QEMM-386, QEMM 50/60, AND QRAM DO WITH THE XBDA?
  38.  
  39.       QEMM-386, QEMM 50/60, and QRAM move the XBDA.  They do this because the 
  40. XBDA is put at 639K (9FC0H) by default and this prevents the extension of 
  41. conventional memory beyond 640K.  If you have Hercules or CGA video then QEMM-
  42. 386 and QRAM (if your expanded memory card maps the video region) will extend 
  43. DOS memory above 640K automatically.  If you wish to use the Quarterdeck 
  44. program VIDRAM then the XBDA must be moved.
  45.  
  46.  
  47. HOW DO I STOP THIS FROM HAPPENING?
  48.  
  49.       If you wish to stop QEMM-386 (QEMM 50/60, QRAM) from moving the XBDA 
  50. then you must put the switch NOXBDA (NX) on the QEMM386.SYS, (QEMM.SYS, 
  51. QRAM.SYS) line of the CONFIG.SYS.
  52.  
  53.      DEVICE=C:\QEMM\QEMM386.SYS RAM NX
  54.  
  55. for example.
  56.  
  57.  
  58. WHY WOULD I WANT TO STOP QEMM-386 (QEMM 50/60, QRAM) FROM MOVING THE 
  59. XBDA?
  60.  
  61.       Some programs (and some BIOSes) look for the information stored in the 
  62. XBDA at 9FC0, rather than reading the BIOS Data Area at 40:E to find out where 
  63. the XBDA really is.  When the XBDA has been moved they read whatever has been 
  64. written here and misbehave because what they find is completely inappropriate.  
  65. If you have a program that malfunctions when QEMM-386 (QEMM 50/60, QRAM) is 
  66. loaded and you have an XBDA this switch may remedy the problem.  There is a 
  67. protocol for moving the XBDA and Quarterdeck obeys it.  Not all programs (or, 
  68. perhaps, BIOSes) are aware that the XBDA may be moved though.
  69.      When the XBDA is not being moved by QEMM-386 (QEMM 50/60, QRAM) then you 
  70. will see this line in the First Meg/Overview screen of MANIFEST:
  71.  
  72.                 ===Conventional memory ends at 639K====
  73.            9FC0-9FFF      1K        Extended BIOS Data Area
  74.  
  75.  
  76.  
  77. TROUBLESHOOTING
  78.  
  79.       There is no way to know that a program is failing because the XBDA has 
  80. been moved except by adding the parameter NOXBDA (NX) to the QEMM386.SYS, 
  81. QEMM.SYS, or QRAM.SYS line of the CONFIG.SYS and trying again.
  82.      There is hardware that creates an XBDA improperly, without causing the 
  83. existence of an XBDA to be properly reported.  In some cases a device driver 
  84. written by Quarterdeck, MAKEXBDA.SYS, loaded before QEMM-386, QEMM 50/60, or 
  85. QRAM, will fix this problem by causing the XBDA to be properly reported.  This 
  86. driver, zipped together with an explanatory document, is available on the 
  87. Quarterdeck BBS.
  88.  
  89.  
  90.      VIDRAM is reporting:  "VIDRAM:  Top of memory NOT at 640K" and refusing 
  91. to load:  What do I do?
  92.  
  93.       If conventional memory is ending at 639K or thereabouts and you have an 
  94. XBDA (as discussed above) and the XBDA is just beneath 640K then the XBDA must 
  95. be moved for VIDRAM to work.  You can use QEMM-386, QEMM 50/60, or QRAM to 
  96. perform this task alone.  Of course the NOXBDA (NX) parameter cannot be on the 
  97. QEMM386.SYS (QEMM.SYS, QRAM.SYS) line of the CONFIG.SYS for them to relocate 
  98. the XBDA. 
  99.      The existence of an XBDA is not the only reason for the top of 
  100. conventional memory not being at 640K.  Having the page frame at 9000 causes 
  101. conventional memory to end at 576K.  Other hardware (perhaps a hard disk 
  102. controller) can cause it to end at less than 640K.  Some viruses can cause 
  103. this to happen.
  104.  
  105.   ************************************************************************
  106.   *This technical note may be copied and distributed freely as long as it*
  107.   *is distributed in its entirety and it is not distributed for profit.  *
  108.   *         Copyright (C) 1991-2 by Quarterdeck Office Systems           *
  109.   ************************ E N D   O F   F I L E *************************
  110.